package com.cosfly.sharemusic.user.dao;

import com.cosfly.sharemusic.user.pojo.CUser;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Repository;

import java.util.List;
@Repository
public interface CUserMapper {
    int deleteByPrimaryKey(Long user_id);

    Long insert(CUser record);

    CUser selectByPrimaryKey(Long user_id);

    List<CUser> selectAll();

    int updateByPrimaryKey(CUser record);

    /**
     * 判断手机号是否已注册
     * @param user_phone
     * @return
     */
    Integer selectByPhone(@Param("user_phone")String user_phone);

    /**
     * 获取最大的用户ID
     * @param user_id
     * @return
     */
    Long selectMaxId();

    /**
     * 判断用户昵称是否注册
     * @param user_name
     * @return
     */
    Integer selectByName(@Param("user_name") String user_name);

    /**
     * 判断用户邮箱是否注册
     * @param user_email
     * @return
     */
    Integer selectByEmail(@Param("user_email") String user_email);

    /**
     * 根据用户编号获取用户信息
     * @param userCode
     * @return
     */
    CUser selectByCode(@Param("userCode") String userCode);

    /**
     * 更新用户的头像图片路径
     * @param user
     */
    void updateimageByUserId(CUser user);

    /**
     * 根据用户邮箱获取用户信息
     * @param userEmail
     * @return
     */
    CUser selectUserByEmail(@Param("userEmail") String userEmail);

    /**
     * 根据用户手机号获取用户信息
     * @param userPhone
     * @return
     */
    CUser selectUserByPhone(@Param("userPhone")String userPhone);

    /**
     * 根据用户昵称获取用户信息
     * @param userName
     * @return
     */
    CUser selectUserByName(@Param("userName")String userName);
}